package indi.defoliation.unknownrpg.api.attribute;

import java.lang.annotation.*;


/**
 * 监听事件所必须要的注释.
 * 监听事件会在属性注册时一块注册。
 * 
 * 
 * 
 * @author defoli_ation
 *
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface AttributeEventHandler {
	AttributePriority priority() default AttributePriority.NORMAL;
	/**
	 * 你需要的身体部位.
	 * <br>
	 * 在{@link indi.defoliation.unknownrpg.api.rpgevent.EntityEvent}及其子类触发后。
	 * <br>
	 * 如果你的方法参数正确，那么键就是entity身体上的位置，值就是怪物身体上位置的属性
	 * 
	 * @return
	 */
	AttributeBody[] body() default {AttributeBody.HEAD,AttributeBody.CHEST,AttributeBody.LEG,AttributeBody.CHEST
		,AttributeBody.MAIN_HAND,AttributeBody.OFF_HAND};
	boolean ignoreNull() default true;
	boolean ignoreCancel() default false;
}
